﻿#ifndef MEASURERECT_H
#define MEASURERECT_H

#include "MeasureElement.h"
namespace Qly {

class MeasureDataSet;

/**
 * @brief The MeasureRect class 矩形测量
 *              m_results_um[0] 存放的是矩形的 Height。
 *              m_results_um[1] 存放的是矩形的 Width。
 *              m_results_um[2] 存放的是矩形的 面积
 *              m_results_um[3] 存放的是矩形中心的 X 坐标。以图像中心为原点。
 *              m_results_um[4] 存放的是矩形中心的 Y 坐标。以图像中心为原点。
 *
 *             textTemplate 支持 @area_um2, @area_mm2, @area, @areaUnit, @id 5 个关键字
 */
class MeasureRect: public MeasureElement
{
friend MeasureDataSet;
public:
    MeasureRect(MeasureDataSet *parent = nullptr);
    QString name() Q_DECL_OVERRIDE {return u8"矩形面积";}
    int mouseLButtonPress(QPointF point_pix, QPointF point_um) Q_DECL_OVERRIDE;
    int mouseMove(QPointF point_pix, QPointF point_um) Q_DECL_OVERRIDE;

private:
    void compute(void) Q_DECL_OVERRIDE; //计算图元的位置，还有长度结果
    void updateText(bool updatePosition = true) Q_DECL_OVERRIDE;
    void paint( QPainter &painter ) Q_DECL_OVERRIDE; //画方法

    QPointF m_tempEnd_um;
    QPointF m_tempEnd_pix;
};

}

#endif // MEASURERECT_H
